home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Cube 1 & 2 / Multimedia Cube - Disc 2.iso / spfrench / disk1 / specific.in_ / specific.bin
Text File  |  1994-04-01  |  18KB  |  446 lines

  1. ''
  2. '' WFS Pro 2.10-specific install functions, French version
  3. '' Copyright (c) 1994 Aristosoft, Inc.
  4. ''
  5.  
  6. '' Set up product-specific titles, etc.
  7. SUB SetProductTitles STATIC
  8.     SetTitle "Wired for Sound Pro"
  9.     WFSAPP$ = "WFS Pro"
  10. END SUB
  11.  
  12.  
  13. FUNCTION InfFile() STATIC AS STRING
  14.     InfFile = "WFSPRO.INF"
  15. END FUNCTION
  16.  
  17.  
  18. FUNCTION MakeInstDir(D$) STATIC AS STRING
  19.  
  20.     '' If we're lucky, this will tell us where we're located
  21.     S$ = GetIniKeyString(WININI$, "Aristosoft", "WFS")
  22.  
  23.     '' If that didn't work, then try this for 2.02
  24.     IF S$ = "" THEN
  25.     S$ = GetIniKeyString(WININI$, "Sound API", "MaleVoice")
  26.     S$ = mid$(S$, 1, len(S$) - len("\VOICE3.VOI"))
  27.     END IF
  28.  
  29.     '' If that didn't work, then we'll punt with the default
  30.     IF S$ = "" THEN
  31.     S$ = D$ + ":\WFSOUND"
  32.     END IF
  33.  
  34.     '' WFSOUND.INF must be in any installed WFS product
  35.     IF EXISTS(MakePath(S$, "WFSOUND.INF")) THEN
  36.     r% = DoMsgBox("Une copie installΘe de Wired for Sound a ΘtΘ dΘcouverte dans " + S$+ ".", "Wired for Sound Pro", MB_OK)
  37.     END IF
  38.  
  39.     MakeInstDir = S$
  40. END FUNCTION
  41.  
  42.  
  43. SUB AddInfSectionNames(BASE$, TAPPS$, SOUNDS$, VOICES$, BASEINST$, TAPPSINST$, SOUNDSINST$, VOICESINST$) STATIC
  44.  
  45.     '' These are the base files we can install
  46.     AddListItem BASE$, "Base Files"
  47.     SetSymbolValue BASEINST$, GetSymbolValue(BASE$)
  48.  
  49.     '' These are the Talking Apps we can install
  50.     AddListItem TAPPS$, "DΘmineur Parlant"
  51.     AddListItem TAPPS$, "Solitaire Parlant"
  52.     AddListItem TAPPS$, "Changeur de Curseur"
  53.     AddListItem TAPPS$, "Changeur d'Ic⌠nes"
  54.     AddListItem TAPPS$, "Calendrier Parlant"
  55.     AddListItem TAPPS$, "Horloge Parlante"
  56.     AddListItem TAPPS$, "CimetiΦre Parlant"
  57.     AddListItem TAPPS$, "Cadran de SystΦme Parlant"
  58.     AddListItem TAPPS$, "Sauveur de Boulot"
  59.     AddListItem TAPPS$, "Alerte Envahisseur"
  60.     AddListItem TAPPS$, "Calculatrice Parlante"
  61.     AddListItem TAPPS$, "Editeur de WFS"
  62.     AddListItem TAPPS$, "Gestionnaire de sons"
  63.     AddListItem TAPPS$, "Post This!"
  64.     AddListItem TAPPS$, "Groupie"
  65.  
  66.     '' By default, we install all Talking Apps
  67.     SetSymbolValue TAPPSINST$, GetSymbolValue(TAPPS$)
  68.  
  69.     '' These are the sounds we can install
  70.     AddListItem SOUNDS$, "Sons d'ic⌠ne"
  71.     AddListItem SOUNDS$, "Phrases sonores"
  72.     AddListItem SOUNDS$, "Sons humains"
  73.     AddListItem SOUNDS$, "Sons rigolos"
  74.     AddListItem SOUNDS$, "Sons de bouton"
  75.     AddListItem SOUNDS$, "MIDI Classique"
  76.     AddListItem SOUNDS$, "MIDI Jazz"
  77.     AddListItem SOUNDS$, "Divers MIDI"
  78.     AddListItem SOUNDS$, "MIDI Musique planante"
  79.     AddListItem SOUNDS$, "MIDI AgrΘable"
  80.     AddListItem SOUNDS$, "MIDI R & B"
  81.     AddListItem SOUNDS$, "Sons de Boulot"
  82.  
  83.     '' By default, we install all the above
  84.     SetSymbolValue SOUNDSINST$, GetSymbolValue(SOUNDS$)
  85.  
  86.     '' We can install all these voices
  87.     AddListItem VOICES$, "Voix Masculine"
  88.     AddListItem VOICES$, "Voix FΘminine"
  89.  
  90.     '' By default, we install all the above
  91.     SetSymbolValue VOICESINST$, GetSymbolValue(VOICES$)
  92. END SUB
  93.  
  94.  
  95. SUB RecalcPath STATIC
  96.     CursorSave% = ShowWaitCursor()
  97.     RecalcOptFiles BASEFILES
  98.     RecalcOptFiles SOUNDFILES
  99.     RecalcOptFiles TAPPFILES
  100.     RecalcOptFiles VOICEFILES
  101.     RestoreCursor CursorSave%
  102. END SUB
  103.  
  104.  
  105. SUB AddOptFiles STATIC
  106.     AddOptFilesToCopyList BASEFILES
  107.     AddOptFilesToCopyList TAPPFILES
  108.     AddOptFilesToCopyList SOUNDFILES
  109.     AddOptFilesToCopyList VOICEFILES
  110. END SUB
  111.  
  112.  
  113. SUB AddOptFilesToCopyList (ftype%) STATIC
  114.  
  115.     IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  116.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  117.     IF ftype% = BASEFILES THEN
  118.         ''Base files
  119.         l% = GetListLength(BASEINST$)
  120.         FOR i% = 1 TO l% STEP 1
  121.         AddSectionFilesToCopyList GetListItem(BASEINST$, i%), SrcDir$, DEST$
  122.         NEXT i%
  123.  
  124.         IF INSTDSOUND% OR EXISTS(MakePath(SYSDIR$, "DSOUND.DLL")) THEN
  125.         AddSpecialFileToCopyList "DSOUND Files", "DSOUND", SrcDir$, MakePath(SYSDIR$, "DSOUND.DLL")
  126.         AddSpecialFileToCopyList "DSOUND Files", "DSCPL", SrcDir$, MakePath(SYSDIR$, "DSCPL.CPL")
  127.         END IF
  128.  
  129.         AddSpecialFileToCopyList "System Files", "CTL3D", SrcDir$, MakePath(SYSDIR$, "CTL3D.DLL")
  130.  
  131.     ELSEIF ftype% = TAPPFILES THEN
  132.         l% = GetListLength(TAPPSINST$)
  133.         FOR i% = 1 TO l% STEP 1
  134.         AddSectionFilesToCopyList GetListItem(TAPPSINST$, i%), SrcDir$, DEST$
  135.         NEXT i%
  136.  
  137.         IF StringInList("Calculatrice Parlante", TAPPSINST$) THEN
  138.         AddSpecialFileToCopyList "System Files", "LCD Font (VGA)", SrcDir$, MakePath(SYSDIR$, "LCD.FON")
  139.         AddSpecialFileToCopyList "System Files", "LCD Font (8514a)", SrcDir$, MakePath(SYSDIR$, "LCDBIG.FON")
  140.         END IF
  141.     ELSEIF ftype% = SOUNDFILES THEN
  142.         l% = GetListLength(SOUNDSINST$)
  143.         FOR i% = 1 TO l% STEP 1
  144.         AddSectionFilesToCopyList GetListItem(SOUNDSINST$, i%), SrcDir$, DEST$
  145.         NEXT i%
  146.     ELSEIF ftype% = VOICEFILES THEN
  147.         l% = GetListLength(VOICESINST$)
  148.         FOR i% = 1 TO l% STEP 1
  149.         AddSectionFilesToCopyList GetListItem(VOICESINST$, i%), SrcDir$, DEST$
  150.         NEXT i%
  151.     END IF
  152.     SrcDir$ = ""
  153.     END IF
  154.  
  155. END SUB
  156.  
  157.  
  158. SUB SetDriveStatus STATIC
  159.     FITS% = 0
  160.     drive$ = MID$(DEST$, 1, 1)
  161.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  162.  
  163.     cost& = VAL(GetListItem(BASENEEDS$, ndrive%))
  164.     cost& = cost& + VAL(GetListItem(SOUNDNEEDS$, ndrive%))
  165.     cost& = cost& + VAL(GetListItem(TAPPNEEDS$, ndrive%))
  166.     cost& = cost& + VAL(GetListItem(VOICENEEDS$, ndrive%))
  167.  
  168.     free& = GetFreeSpaceForDrive(drive$)
  169.     IF cost& > free& THEN
  170.     FITS% = 1
  171.     END IF
  172.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  173.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  174.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  175.  
  176.     IF drive$ = WINDRIVE$ THEN
  177.     ReplaceListItem DRIVETEXT$, 4, ""
  178.     ReplaceListItem DRIVETEXT$, 5, ""
  179.     ReplaceListItem DRIVETEXT$, 6, ""
  180.     ELSE
  181.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  182.  
  183.     cost& = VAL(GetListItem(BASENEEDS$, ndrive%))
  184.     cost& = cost& + VAL(GetListItem(SOUNDNEEDS$, ndrive%))
  185.     cost& = cost& + VAL(GetListItem(TAPPNEEDS$, ndrive%))
  186.     cost& = cost& + VAL(GetListItem(VOICENEEDS$, ndrive%))
  187.  
  188.     IF cost& = 0 THEN
  189.         ReplaceListItem DRIVETEXT$, 4, ""
  190.         ReplaceListItem DRIVETEXT$, 5, ""
  191.         ReplaceListItem DRIVETEXT$, 6, ""
  192.     ELSE
  193.         free& = GetFreeSpaceForDrive(WINDRIVE$)
  194.         IF cost& > free& THEN
  195.         FITS% = 1
  196.         END IF
  197.         ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
  198.         ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
  199.         ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
  200.     END IF
  201.     END IF
  202. END SUB
  203.  
  204.  
  205. '' Add billboard dialogs for this app
  206. SUB AddBillboards STATIC
  207.     AddToBillboardList CUIDLL$, BBD1, "FModelessDlgProc", 100
  208.     AddToBillboardList CUIDLL$, BBD2, "FModelessDlgProc", 100
  209.     AddToBillboardList CUIDLL$, BBD3, "FModelessDlgProc", 100
  210.     AddToBillboardList CUIDLL$, BBD4, "FModelessDlgProc", 100
  211.     AddToBillboardList CUIDLL$, BBD5, "FModelessDlgProc", 100
  212. END SUB
  213.  
  214.  
  215. CONST IDC_OWNER = 104
  216. CONST IDC_WORKPLACE = 106
  217. CONST RT_RCDATA = 10
  218.  
  219. SUB ConfigureApps STATIC
  220.  
  221.     '' This is so Fixer can find where we're installed
  222.     CreateIniKeyValue WININI$, "Aristosoft", "WFS", DEST$, cmoOverwrite
  223.  
  224.     '' This is the name of the group we'll install into
  225.     GROUP$ = "Wired for Sound Pro/F"
  226.  
  227.     '' Create a group for us...
  228.     CreateProgmanGroup GROUP$, "", cmoNone
  229.  
  230.     '' Configure base applications
  231.     IF GetListItem(CHECKSTATES$, BASEFILES) = "ON" THEN
  232.  
  233.     '' Setup WFS Pro
  234.     CreateProgmanItem GROUP$, WFSAPP$, MakePath(DEST$, "wfsound.exe"), "", cmoOverwrite
  235.  
  236.     IF INSTDSOUND% THEN
  237.         ''CreateProgmanItem GROUP$, "DSOUND Info", "notepad.exe " + MakePath(DEST$, "dsound.txt"), "", cmoOverwrite
  238.     END IF
  239.  
  240.     ''CreateProgmanItem GROUP$, "Manual Addendum", "write.exe " + MakePath(DEST$, "readme.wri"), "", cmoOverwrite
  241.  
  242.     ''Setup up default association file
  243.     CreateIniKeyValue MakePath(DEST$, "WFSOUND.INF"), "WFSound", "ActiveProfile", MakePath(DEST$, "DEFAULT.WFS"), cmoNone
  244.  
  245.     ''Turn on icon events only if we support the shell
  246.     s$ = LCASE$(GetIniKeyString(SYSINI$, "boot", "shell"))
  247.     IF INSTR(s$, "progman.exe") THEN
  248.         i$ = "1"
  249.     ELSEIF INSTR(s$, "ndw.exe") THEN
  250.         i$ = "1"
  251.     ELSEIF INSTR(s$, "wndt.exe") THEN
  252.         i$ = "1"
  253.     ELSE
  254.         i$ = "0"
  255.     END IF
  256.     CreateIniKeyValue MakePath(DEST$, "DEFAULT.WFS"), "Status", "Icon", i$, cmoNone
  257.     s$ = ""
  258.     i$ = ""
  259.  
  260.  
  261.     '' Disable Win 3.1 system startup and exit sounds
  262.     s$ = GetIniKeyString(WININI$, "Sounds", "SystemStart")
  263.     CreateIniKeyValue WININI$, "Sounds", "OldSystemStart", s$, cmoOverwrite
  264.     CreateIniKeyValue WININI$, "Sounds", "SystemStart", "<none>,System Start", cmoOverwrite
  265.  
  266.     s$ = GetIniKeyString(WININI$, "Sounds", "SystemExit")
  267.     CreateIniKeyValue WININI$, "Sounds", "OldSystemExit", s$, cmoOverwrite
  268.     CreateIniKeyValue WININI$, "Sounds", "SystemExit", "<none>,System Exit", cmoOverwrite
  269.  
  270.     ''Stamp the WFSABOUT resources
  271.     IF len(OWNER$) > 0 THEN
  272.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_OWNER, OWNER$ + chr$(0), len(OWNER$) + 1
  273.     ELSE
  274.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_OWNER, " " + chr$(0), 2
  275.     END IF
  276.     IF len(WORKPLACE$) > 0 THEN
  277.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_WORKPLACE, WORKPLACE$ + chr$(0), len(WORKPLACE$) + 1
  278.     ELSE
  279.         StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_WORKPLACE, " " + chr$(0), 2
  280.     END IF
  281.  
  282.     END IF
  283.  
  284.     '' Configure Talking Applications
  285.     IF GetListItem(CHECKSTATES$, TAPPFILES) = "ON" THEN
  286.  
  287.     IF StringInList("Changeur d'Ic⌠nes", TAPPSINST$) THEN
  288.         CreateProgmanItem GROUP$, "Changeur d'Ic⌠nes", MakePath(DEST$, "iconplus.exe"), "", cmoOverwrite
  289.     END IF
  290.  
  291.     IF StringInList("Changeur de Curseur", TAPPSINST$) THEN
  292.         CreateProgmanItem GROUP$, "Changeur de Curseur", MakePath(DEST$, "cursor.exe") + " /foo /bar", "", cmoOverwrite
  293.     END IF
  294.  
  295.     IF StringInList("Solitaire Parlant", TAPPSINST$) THEN
  296.         CreateProgmanItem GROUP$, "Solitaire Parlant", MakePath(DEST$, "tsol.exe"), "", cmoOverwrite
  297.         INI$ = MakePath(DEST$, "voice.ini")
  298.         CreateIniKeyValue INI$, "Voice Library", "TSOL.EXE", MakePath(DEST$, "fvoice2.voi"), cmoNone
  299.     END IF
  300.  
  301.     IF StringInList("DΘmineur Parlant", TAPPSINST$) THEN
  302.         CreateProgmanItem GROUP$, "DΘmineur Parlant", MakePath(DEST$, "tmine.exe"), "", cmoOverwrite
  303.     END IF
  304.  
  305.     IF StringInList("Horloge Parlante", TAPPSINST$) THEN
  306.         CreateProgmanItem GROUP$, "L'Horloge Parlante", MakePath(DEST$, "tclock.exe"), "", cmoOverwrite
  307.         INI$ = MakePath(DEST$, "voice.ini")
  308.         CreateIniKeyValue INI$, "Voice Library", "TCLOCK.EXE", MakePath(DEST$, "fvoice2.voi"), cmoNone
  309.     END IF
  310.  
  311.     IF StringInList("Calendrier Parlant", TAPPSINST$) THEN
  312.         CreateProgmanItem GROUP$, "Calendrier Parlant", MakePath(DEST$, "tcal.exe"), "", cmoOverwrite
  313.         INI$ = MakePath(DEST$, "voice.ini")
  314.         CreateIniKeyValue INI$, "Voice Library", "TCAL.EXE", MakePath(DEST$, "fvoice2.voi"), cmoNone
  315.     END IF
  316.  
  317.     IF StringInList("Gestionnaire de sons", TAPPSINST$) THEN
  318.         CreateProgmanItem GROUP$, "Gestionnaire de sons", MakePath(DEST$, "sndmnger.exe"), "", cmoOverwrite
  319.     END IF
  320.  
  321.     IF StringInList("Horloge Parlante", TAPPSINST$) OR StringInList("Calendrier Parlant", TAPPSINST$) THEN
  322.         INI$ = MakePath(DEST$, "SCHEDAPI.INI")
  323.         CreateIniKeyValue INI$, "Settings", "HolidayFile", MakePath(DEST$, "TCAL.HOL"), cmoNone
  324.         CreateIniKeyValue INI$, "Settings", "DefaultApptBook", MakePath(DEST$, "DEFAULT.APP"), cmoNone
  325.     END IF
  326.  
  327.     IF StringInList("Calculatrice Parlante", TAPPSINST$) THEN
  328.         CreateProgmanItem GROUP$, "Calculatrice Parlante", MakePath(DEST$, "tcalc.exe"), "", cmoOverwrite
  329.         CreateIniKeyValue WININI$, "FONTS", "LCD (VGA Res)", "lcd.fon", cmoNone
  330.         CreateIniKeyValue WININI$, "FONTS", "LCD (8514a Res)", "lcdbig.fon", cmoNone
  331.         INI$ = MakePath(DEST$, "voice.ini")
  332.         CreateIniKeyValue INI$, "Voice Library", "TCALC.EXE", MakePath(DEST$, "fvoice2.voi"), cmoNone
  333.     END IF
  334.  
  335.     IF StringInList("Editeur de WFS", TAPPSINST$) THEN
  336.         CreateProgmanItem GROUP$, "L'Edition de WFS", MakePath(DEST$, "wfsedit.exe"), "", cmoOverwrite
  337.     END IF
  338.  
  339.     IF StringInList("Cadran de SystΦme Parlant", TAPPSINST$) THEN
  340.         INI$ = MakePath(DEST$, "TMON.INI")
  341.         CreateIniKeyValue INI$, "Talking Monitor", "LowResources", MakePath(DEST$, "PHRASES\VACHE.wav"), cmoNone
  342.         CreateIniKeyValue INI$, "Talking Monitor", "LowMemory", MakePath(DEST$, "PHRASES\COUILLON.wav"), cmoNone
  343.         CreateIniKeyValue INI$, "Talking Monitor", "LowDiskSpace", MakePath(DEST$, "PHRASES\MERDALOR.wav"), cmoNone
  344.         CreateIniKeyValue INI$, "Talking Monitor", "SayStats", "1", cmoNone
  345.         CreateProgmanItem GROUP$, "Cadran de SystΦme Parlant", MakePath(DEST$, "tmon.exe"), "", cmoOverwrite
  346.         INI$ = MakePath(DEST$, "voice.ini")
  347.         CreateIniKeyValue INI$, "Voice Library", "TMON.EXE", MakePath(DEST$, "fvoice2.voi"), cmoNone
  348.     END IF
  349.  
  350.     IF StringInList("CimetiΦre Parlant", TAPPSINST$) THEN
  351.         INI$ = MakePath(DEST$, "TGRAVE.INI")
  352.         CreateIniKeyValue INI$, "Settings", "BurySoundFile", MakePath(DEST$, "FUNNYSND\CHL_AARG.wav"), cmoNone
  353.         CreateIniKeyValue INI$, "Settings", "KillSoundFile", MakePath(DEST$, "HUMANSND\ELAUGH.wav"), cmoNone
  354.         CreateProgmanItem GROUP$, "CimetiΦre de Fichiers Parlant", MakePath(DEST$, "tgrave.exe"), "", cmoOverwrite
  355.     END IF
  356.  
  357.     IF StringInList("Sauveur de Boulot", TAPPSINST$) AND GetListItem(CHECKSTATES$, SOUNDFILES) = "ON" AND StringInList("Sons de Boulot", SOUNDSINST$) THEN
  358.         INI$ = MakePath(DEST$, "JOBSAVER.INI")
  359.         CreateIniKeyValue INI$, "Settings", "SoundFile0", MakePath(DEST$, "jobsaver\chairsqk.wav"), cmoNone
  360.         CreateIniKeyValue INI$, "Settings", "Rate0", "10", cmoNone
  361.         CreateIniKeyValue INI$, "Settings", "SoundFile1", MakePath(DEST$, "jobsaver\throat.wav"), cmoNone
  362.         CreateIniKeyValue INI$, "Settings", "Rate1", "5", cmoNone
  363.         CreateIniKeyValue INI$, "Settings", "SoundFile2", MakePath(DEST$, "jobsaver\key1.wav"), cmoNone
  364.         CreateIniKeyValue INI$, "Settings", "Rate2", "50", cmoNone
  365.         CreateIniKeyValue INI$, "Settings", "SoundFile3", MakePath(DEST$, "jobsaver\beep.wav"), cmoNone
  366.         CreateIniKeyValue INI$, "Settings", "Rate3", "30", cmoNone
  367.         CreateIniKeyValue INI$, "Settings", "SoundFile4", MakePath(DEST$, "jobsaver\key2.wav"), cmoNone
  368.         CreateIniKeyValue INI$, "Settings", "Rate4", "30", cmoNone
  369.         CreateIniKeyValue INI$, "Settings", "SoundFile5", MakePath(DEST$, "jobsaver\key0.wav"), cmoNone
  370.         CreateIniKeyValue INI$, "Settings", "Rate5", "50", cmoNone
  371.         CreateIniKeyValue INI$, "Settings", "SoundFile6", MakePath(DEST$, "jobsaver\cough.wav"), cmoNone
  372.         CreateIniKeyValue INI$, "Settings", "Rate6", "10", cmoNone
  373.         CreateProgmanItem GROUP$, "Sauveur de Boulot", MakePath(DEST$, "jobsaver.exe"), "", cmoOverwrite
  374.     END IF
  375.  
  376.     IF StringInList("Alerte Envahisseur", TAPPSINST$) THEN
  377.         CreateProgmanItem GROUP$, "Alerte Envahisseur", MakePath(DEST$, "alert.exe"), "", cmoOverwrite
  378.         INI$ = MakePath(DEST$, "ALERT.INI")
  379.         CreateIniKeyValue INI$, "Settings", "AlarmSound", MakePath(DEST$, "FUNNYSND\ALARM.wav"), cmoNone
  380.         CreateIniKeyValue WININI$, "Exclude Buttons", "Alerte Envahisseur", "1", cmoOverwrite
  381.     END IF
  382.  
  383.     IF StringInList("Post This!", TAPPSINST$) THEN
  384.         CreateProgmanItem GROUP$, "Post This!", MakePath(DEST$, "postit.exe"), "", cmoOverwrite
  385.     END IF
  386.  
  387.     IF StringInList("Groupie", TAPPSINST$) THEN
  388.         CreateProgmanItem GROUP$, "Groupie", MakePath(DEST$, "groupie.exe"), "", cmoOverwrite
  389.     END IF
  390.  
  391.     END IF
  392.  
  393.     '' Install DSOUND.DLL as the wave driver if there isn't one already, somewhere...
  394.     IF INSTDSOUND% AND EXISTS(MakePath(SYSDIR$, "DSOUND.DLL")) THEN
  395.     CreateIniKeyValue SYSINI$, "drivers", "wave", "DSOUND.DLL", cmoOverwrite
  396.     END IF
  397. END SUB
  398.  
  399.  
  400.  
  401. '' Remove all files and directories...
  402.  
  403. SUB DoUninstall STATIC
  404.     IF IDYES = DoMsgBox("Etes-vous certain que vous voulez retirer Wired for Sound Pro de votre systΦme?", "Wired for Sound Pro", MB_YESNO) THEN
  405.     DEST$ = GetIniKeyString(WININI$, "Aristosoft", "WFS")
  406.     IF DEST$ <> "" THEN
  407.         old% = ShowWaitCursor()
  408.  
  409.         RemDirectory MakePath(DEST$, "AVI")
  410.         RemDirectory MakePath(DEST$, "BUTTONS")
  411.         RemDirectory MakePath(DEST$, "MISCMID")
  412.         RemDirectory MakePath(DEST$, "PHRASES")
  413.         RemDirectory MakePath(DEST$, "FUNNYSND")
  414.         RemDirectory MakePath(DEST$, "ICONSND")
  415.         RemDirectory MakePath(DEST$, "HUMANSND")
  416.         RemDirectory MakePath(DEST$, "CLSCLMID")
  417.         RemDirectory MakePath(DEST$, "JAZZMID")
  418.         RemDirectory MakePath(DEST$, "NWAGEMID")
  419.         RemDirectory MakePath(DEST$, "PLSNTMID")
  420.         RemDirectory MakePath(DEST$, "R&BMID")
  421.         RemDirectory MakePath(DEST$, "STARTREK")
  422.         RemDirectory MakePath(DEST$, "JOBSAVER")
  423.         RemDirectory DEST$
  424.  
  425.         RemoveIniSection WININI$, "Sound API", cmoNone
  426.  
  427.         '' Reset default startup and exit sounds
  428.         s$ = GetIniKeyString(WININI$, "Sounds", "OldSystemStart")
  429.         RemoveIniKey WININI$, "Sounds", "OldSystemStart", cmoNone
  430.         CreateIniKeyValue WININI$, "Sounds", "SystemStart", s$, cmoOverwrite
  431.  
  432.         s$ = GetIniKeyString(WININI$, "Sounds", "OldSystemExit")
  433.         RemoveIniKey WININI$, "Sounds", "OldSystemExit", cmoNone
  434.         CreateIniKeyValue WININI$, "Sounds", "SystemExit", s$, cmoOverwrite
  435.  
  436.         RestoreCursor old%
  437.  
  438.         i% = DoMsgBox("Wired for Sound Pro a ΘtΘ retirΘ.  Vous pouvez recommencer l'installation ultΘrieurement.", "Wired for Sound Pro", MB_OK)
  439.  
  440.         END
  441.     ELSE
  442.         i% = DoMsgBox("Wired for Sound Pro n'est pas installΘ ou ne peut pas Ωtre trouvΘ!", "Wired for Sound Pro", MB_OK)
  443.     END IF
  444.     END IF
  445. END SUB
  446.